use Comercial -- pero es para TODAS las bases

alter table dbo.Conceptos
add CodEx varchar(8) default('')

update dbo.Conceptos
set CodEx = ''
where CodEx is null


create index idx2 on dbo.Conceptos (CodEx)


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008 -- 19/09/2012
-- Descripcion: 	INSERT en tabla Conceptos
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Conceptos_Insert]

	-- Lista de Parmetros
		@Id_Tipo        int,
		@Id_Concepto	int,
		@Tipo			nvarchar(20),
		@Concepto		nvarchar(50),
		@CodEx			varchar(8)
AS
BEGIN
	SET NOCOUNT ON

	INSERT INTO Conceptos (
		Id_Tipo,
		Id_Concepto,
		Tipo,
		Concepto,
		CodEx  
	) VALUES (
		@Id_Tipo,
		@Id_Concepto,
		@Tipo,
		@Concepto,
		@CodEx
	);
END



GO




--------------------------------------------------------------------------------------------
-- Autor:			WeCo\cbendayan
-- Creacion:		30/07/2008 -- 19/09/2012
-- Descripcion: 	Search en tabla Conceptos
-------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Conceptos_Search]
	-- Lista de Parmetros
	--@OrdenDeRegistros 				    VARCHAR(100) = null,
	@Id_Tipo				INT = null,
	@Id_Concepto			INT = null,
	@CodEx					varchar(8) = null 

AS
BEGIN
	SET NOCOUNT ON

	----------------------------------------
	-- Definimos Variables
	----------------------------------------
	DECLARE @sql        nvarchar(4000)
	DECLARE @parametros nvarchar(4000)

	SET @sql = N'	SELECT 
					Id_Tipo,
					Id_Concepto,
					Tipo,
					Concepto,
					CodEx
					FROM Conceptos WITH (NOLOCK) WHERE 1 = 1 '

	-- @Id_Tipo = TYPE INT

	IF (@Id_Tipo IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Tipo = @Id_Tipo '
	END

	-- @Id_Concepto = TYPE INT

	IF (@Id_Concepto IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Concepto = @Id_Concepto '
	END
	
	-- @CodEx = nvarchar(8)
	
	IF (@CodEx IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND CodEx = @CodEx '
	END		

	BEGIN
			SET @sql = @sql + ' ORDER BY Id_Concepto '
	END
	
	SELECT @parametros = '@Id_Tipo INT, @Id_Concepto INT, @CodEx varchar(8) '

	EXEC sp_executesql @sql, @parametros, @Id_Tipo, @Id_Concepto, @CodEx  	
END

-- exec Conceptos_Search NULL,NULL,NULL



GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008 -- 19/09/2012
-- Descripcion: 	UPDATE en tabla Conceptos
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Conceptos_Update]

	-- Lista de Parmetros
		@Id_Tipo	    int,
		@Id_Concepto	int,
		@Tipo			nvarchar(20),
		@Concepto		nvarchar(50),
		@CodEx			varchar(8)  
AS
UPDATE Conceptos
	SET 
		Id_Tipo			= @Id_Tipo,
		Id_Concepto		= @Id_Concepto,
		Tipo			= @Tipo,
		Concepto		= @Concepto,
		@CodEx			= @CodEx
WHERE
		Id_Tipo	= @Id_Tipo AND
		Id_Concepto = @Id_Concepto 



GO



alter table dbo.Egresos
add CodEx varchar(8) default('')


update dbo.Egresos
set CodEx = ''
where CodEx is null


create index idx2 on dbo.Egresos (CodEx)



GO



--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008 -- 19/09/2012
-- Descripcion: 	INSERT en tabla Egresos
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Egresos_Insert]

	-- Lista de Parmetros
		@Id_Egreso      float,
		@Id_Caja		float,
		@Id_Concepto	int,
		@Concepto		nvarchar(50),
		@Id_Compra		float,
		@Id_Proveedor	float,
		@Monto			decimal(12,2),
		@Fecha			datetime,
		@Observaciones	nvarchar(250),
		@Id_Usuario		int,
		@CCostos		int,
		@CodEx			varchar(8)    

AS
BEGIN
	SET NOCOUNT ON

	SET DATEFORMAT DMY

	INSERT INTO Egresos (
		Id_Egreso,
		Id_Caja,
		Id_Concepto,
		Concepto,
		Id_Compra,
		Id_Proveedor,
		Monto,
		Fecha,
		Observaciones,
		Id_Usuario, 
		[CCostos],
		CodEx 

	) VALUES (
		@Id_Egreso,
		@Id_Caja,
		@Id_Concepto,
		@Concepto,
		@Id_Compra,
		@Id_Proveedor,
		@Monto,
		@Fecha,
		@Observaciones,
		@Id_Usuario,
		@CCostos,
		@CodEx
	);
END



GO



--------------------------------------------------------------------------------------------
-- Autor:			WeCo\cbendayan
-- Creacion:		30/07/2008 -- 19/09/2012
-- Descripcion: 	Search en tabla Egresos
-------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Egresos_Search]
	-- Lista de Parmetros
	--@OrdenDeRegistros 				    VARCHAR(100) = null,
	@Id_Egreso				float = null,
	@Id_Caja				float = null,
	@Id_Concepto			INT = null,
	@FechaD					DATETIME = null,
	@FechaH					DATETIME = null,
	@CCostos				INT = null,
	@CodEx					varchar(8) 

AS
BEGIN
	SET NOCOUNT ON
	SET DATEFORMAT DMY

	----------------------------------------
	-- Definimos Variables
	----------------------------------------
	DECLARE @sql        nvarchar(4000)
	DECLARE @parametros nvarchar(4000)

	SET @sql = N'	SELECT 
					Id_Egreso,
					Id_Caja,
					Id_Concepto,
					Concepto,
					Id_Compra,
					Id_Proveedor,
					Monto,
					Observaciones,
					Fecha,
					Id_Usuario,
					CCostos,
					CodEx   
					FROM Egresos WITH (NOLOCK) WHERE 1 = 1 '

	-- @Id_Egreso = TYPE INT

	IF (@Id_Egreso IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Egreso = @Id_Egreso '
	END

	-- @Id_Caja = TYPE INT

	IF (@Id_Caja IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Caja = @Id_Caja '
	END

	-- @Id_Concepto = TYPE INT

	IF (@Id_Concepto IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Concepto = @Id_Concepto '
	END	

	-- @FechaD = DATETIME

	IF (@FechaD IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !< @FechaD '
	END

	-- @FechaH = DATETIME

	IF (@FechaH IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !> @FechaH '
	END
	
	-- @CCostos = TYPE INT

	IF (@CCostos IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND CCostos = @CCostos '
	END
	
	-- @CodEx = TYPE nvarchar(8)

	IF (@CodEx IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND CodEx = @CodEx '
	END
	
	BEGIN
			SET @sql = @sql + ' ORDER BY Id_Egreso '
	END
	
		
	SELECT @parametros = '@Id_Egreso float,@Id_Caja float, @Id_Concepto INT, @FechaD DATETIME, @FechaH DATETIME, @CCostos INT, @CodEx varchar(8) '

	EXEC sp_executesql @sql, @parametros, @Id_Egreso, @Id_Caja, @Id_Concepto, @FechaD, @FechaH, @CCostos, @CodEx    	
END



GO




--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008 -- 19/09/2012
-- Descripcion: 	UPDATE en tabla Egresos
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Egresos_Update]

	-- Lista de Parmetros
		@Id_Egreso      float,
		@Id_Caja		float,
		@Id_Concepto	int,
		@Concepto		nvarchar(50),
		@Id_Compra		int,
		@Id_Proveedor	float,
		@Monto			decimal(12,2),
		@Fecha			datetime,
		@Observaciones	nvarchar(250),
		@Id_Usuario		int,
		@CCostos		int,
		@CodEx			nvarchar(8) 

AS
UPDATE Egresos
	SET 
		Id_Egreso		= @Id_Egreso,
		Id_Caja			= @Id_Caja,
		Id_Concepto		= @Id_Concepto,
		Id_Compra		= @Id_Compra,
		Id_Proveedor	= @Id_Proveedor,
		Concepto		= @Concepto,
		Monto			= @Monto,
		Fecha			= @Fecha,
		Observaciones	= @Observaciones,
		Id_Usuario		= @Id_Usuario,
		CCostos			= @CCostos, 
		CodEx			= @CodEx 
WHERE
		Id_Egreso	= @Id_Egreso 




GO


alter table dbo.Compras
add CodEx varchar(8) default ''

update dbo.Compras
set CodEx = ''
where CodEx is null 

create index idx2 on dbo.Compras (CodEx)



--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008 -- 19/09/2012
-- Descripcion: 	INSERT en tabla Compras
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Compras_Insert]

	-- Lista de Parmetros
		@Id_Compras     float,
		@Id_Caja		float,
		@Gasto			int,
		@Factura		nvarchar(15),
		@PFMes			int,
		@PFAnio			int,
		@Id_Proveedor	float,
		@Proveedor		nvarchar(50),
		@Id_Usuario		int,
		@Fecha			datetime,
		@Id_Estado		int,
		@Estado			nvarchar(10),
		@Kilos			decimal(12,2),
		@Pago			decimal(12,2),
		@CtaCte			decimal(12,2),
		@Total			decimal(12,2),
		@Obs			nvarchar(250),
		@CCostos		int,
		@CodEx			varchar(8)

AS
BEGIN
	SET NOCOUNT ON

	SET DATEFORMAT DMY

	INSERT INTO Compras (
		Id_Compras,
		Id_Caja,
		Gasto,
		Factura,
		PFMes,
		PFAnio,
		Id_Proveedor,
		Proveedor,
		Id_Usuario,
		Fecha,
		Id_Estado,
		Estado,
		Kilos,
		Pago,
		CtaCte,
		Total,
		Obs,
		CCostos,
		CodEx

	) VALUES (
		@Id_Compras,
		@Id_Caja,
		@Gasto,
		@Factura,
		@PFMes,
		@PFAnio,
		@Id_Proveedor,
		@Proveedor,
		@Id_Usuario,
		@Fecha,
		@Id_Estado,
		@Estado,
		@Kilos,
		@Pago,
		@CtaCte,
		@Total,
		@Obs,
		@CCostos,
		@CodEx 
	);
END


GO




--------------------------------------------------------------------------------------------
-- Autor:			WeCo\cbendayan
-- Creacion:		30/07/2008 - 19/09/2012
-- Descripcion: 	Search en tabla Compras
-------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Compras_Search]
	-- Lista de Parmetros
	--@OrdenDeRegistros 				    VARCHAR(100) = null,
	@Id_Compras				float = null,
	@Id_Caja				float = null,
	@Gasto					int = null,
	@PFMes					int = null,
	@PFAnio					int = null,
	@Id_Proveedor			float = null,
	@FechaD					DATETIME = null,
	@FechaH					DATETIME = null,
	@Id_Estado				INT = null,
	@CCostos				INT = null,
	@CodEx					varchar(8) = null 

AS
BEGIN
	SET NOCOUNT ON
	SET DATEFORMAT DMY

	----------------------------------------
	-- Definimos Variables
	----------------------------------------
	DECLARE @sql        nvarchar(4000)
	DECLARE @parametros nvarchar(4000)

	SET @sql = N'	SELECT 
					Id_Compras,
					Id_Caja,
					Gasto,
					Factura,
					PFMes,
					PFAnio,
					Id_Proveedor,
					Proveedor,
					Id_Usuario,
					Fecha,
					Id_Estado,
					Estado,
					Kilos,
					Pago,
					CtaCte,
					Total,
					Obs,
					CCostos,
					CodEx  
					FROM Compras WITH (NOLOCK) WHERE 1 = 1 '

	-- @Id_Compras = TYPE INT

	IF (@Id_Compras IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Compras = @Id_Compras '
	END

	-- @Id_Caja = TYPE INT

	IF (@Id_Caja IS NOT NULL)
	BEGIN
			SET @sql = @sql + ' AND Id_Caja = @Id_Caja '
	END

	-- @Gasto = TYPE INT

	IF (@Gasto IS NOT NULL)
	BEGIN
			SET @sql = @sql + ' AND Gasto = @Gasto '
	END

	-- @PFMes = TYPE INT

	IF (@PFMes  IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND PFMes  = @PFMes '
	END

	-- @PFAnio = TYPE INT

	IF (@PFAnio  IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND PFAnio  = @PFAnio'
	END

	-- @Id_Proveedor = TYPE INT

	IF (@Id_Proveedor IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Proveedor = @Id_Proveedor '
	END	

	-- @FechaD = DATETIME

	IF (@FechaD IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !< @FechaD '
	END

	-- @FechaH = DATETIME

	IF (@FechaH IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !> @FechaH '
	END

	-- @Id_Estado = INT

	IF (@Id_Estado IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Estado = @Id_Estado '
	END
	
	-- @CCostos = INT

	IF (@CCostos IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND CCostos = @CCostos '
	END
	
	-- @CodEx varchar(8)

	IF (@CodEx IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND CodEx = @CodEx '
	END
	
	BEGIN
			SET @sql = @sql + ' ORDER BY Id_Compras '
	END
	
	SELECT @parametros = '@Id_Compras float,@Id_Caja float, @Gasto int, @PFMes int, @PFAnio int, @Id_Proveedor float, @FechaD DATETIME, @FechaH DATETIME, @Id_Estado INT, @CCostos INT, @CodEx varchar(8) '

	EXEC sp_executesql @sql, @parametros, @Id_Compras,@Id_Caja, @Gasto, @PFMes, @PFAnio, @Id_Proveedor, @FechaD, @FechaH, @Id_Estado, @CCostos, @CodEx   	
END

-- exec Compras_Search NULL,NULL,NULL,NULL,NULL,NULL,'01/08/2008','30/10/2010',NULL,NULL,NULL   




GO



--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008 - 19/09/2012
-- Descripcion: 	UPDATE en tabla Compras
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Compras_Update]

	-- Lista de Parmetros
		@Id_Compras     float,
		@Id_Caja		float,
		@Gasto			int,
		@Id_Proveedor	float,
		@Factura		nvarchar(15),
		@PFMes			int,
		@PFAnio			int,
		@Proveedor		nvarchar(50),
		@Id_Usuario		int,
		@Fecha			datetime,
		@Id_Estado		int,
		@Estado			nvarchar(10),
		@Kilos			decimal(12,2),
		@Pago			decimal(12,2),
		@CtaCte			decimal(12,2),
		@Total			decimal(12,2),
		@Obs			nvarchar(250),
		@CCostos		int,
		@CodEx			varchar(8)

AS
UPDATE Compras
	SET 
		Id_Compras		= @Id_Compras,
		Id_Caja			= @Id_Caja,
		Gasto			= @Gasto,
		Factura			= @Factura,
		PFMes			= @PFMes,
		PFAnio			= @PFAnio,
		Id_Proveedor	= @Id_Proveedor,
		Proveedor		= @Proveedor,
		Id_Usuario		= @Id_Usuario,
		Fecha			= @Fecha,
		Id_Estado		= @Id_Estado,
		Estado			= @Estado,
		Kilos			= @Kilos,
		Pago			= @Pago,
		CtaCte			= @CtaCte,
		Total			= @Total,
		Obs				= @Obs,
		@CCostos		= @CCostos,
		@CodEx			= @CodEx  
WHERE
		Id_Compras	= @Id_Compras 
		
		
GO








